package com.zhouyu;

import com.zhouyu.proxy.ProxyFactory;

public class Consumer {
    /**
     * npc核心功能就是通过方法调用的方式来自动发送http请求并获取返回结果
     * 实现这个功能需要：
     * 1.消费端：动态代理，将方法的调用改为发送http请求和获取结果
     * 2.注册中心：通过接口名获取服务器地址(分布式)
     * 3.消费端：通过接口名获取实现类（Map<String,Object>）
     * 4.可以设置一个注解来显示对接口的动态代理
     * @param args
     */
    public static void main(String[] args) {
        //对接口进行监听，并在其调用方法时代理其对方法的调用
        //可以改变其功能，AOP就是通过动态代理实现的。
        HelloService helloService = ProxyFactory.getProxy(HelloService.class);
        String result = helloService.sayHello("zhouyu256");
        System.out.println(result);

    }
}
